package com.libui.thirdpartsdk

import android.content.Intent
import com.libui.thirdpartsdk.login.Login
import com.libui.thirdpartsdk.share.ShareInterface

interface SDKInterface {
    interface Builder {
        val type: String

        val sdkVersion: String?

        val loginBuilder: Login.Builder?

        val shareBuilders: List<ShareInterface.Builder>?

        fun build(): SDKInterface
    }

    val type: String

    val loginBuilder: Login.Builder?

    val shareBuilders: List<ShareInterface.Builder>?

    val isAppInstalled: Boolean

    val sdkVersion: String?

    fun install(): Boolean

    fun uninstall()

    fun handleIntent(intent: Intent): Boolean
}